System and method for controlling device location determination

ABSTRACT

A controlling device such as a remote control has programming for transmitting a signal response to a plurality of control environments, each environment including a signaling device. Each signaling device in receipt of the signal request sends a signal response having a unique ID which is chosen to be characteristically attenuated by the surroundings of the environment. Because the controlling device can only be in one environment at a given time, and given the attenuation characteristics of the signal response from each signaling device, only one signal response will be received by the controlling device in each environment. Location definitions associated with the received unique ID may be used by programming in the controlling device to recall saved devices states, commands sets, macros, and even to dynamically generate commands based on the location information.

RELATED APPLICATION INFORMATION

This application claims the benefit of and is a continuation-in-part ofU.S. application Ser. No. 14/077,844, filed on Nov. 12, 2013, whichapplication claims the benefit of and is a continuation of U.S.application Ser. No. 13/396,178, filed on Feb. 14, 2012, whichapplication claims the benefit of and is a continuation of U.S.application Ser. No. 13/004,529, filed on Jan. 11, 2011, whichapplication claims the benefit of and is a divisional of U.S.application Ser. No. 12/020,747, filed on Jan. 28, 2008, whichapplication claims the benefit of and is a continuation of U.S.application Ser. No. 10/978,971, filed on Nov. 11, 2004, whichapplication claims the benefit of U.S. Provisional Patent ApplicationNo. 60/517,558, filed on Nov. 4, 2003, which applications areincorporated herein by reference in their entirety.

BACKGROUND

The following relates generally to portable devices such as wirelesscontrolling device systems and, more particularly, relates to a systemand method for determining the location or relative environment of aportable controlling device.

Various systems and methods for providing location based information inelectronic devices are known, specifically for reporting the location ofa portable device within an environment, or for determining in which ofseveral possible environments a portable device is located. Forinstance, the active badge system developed by Olivetti uses a mobileinfrared (IR) transmitter (badge) and specialized fixed IR receivers todetermine the location of any person or object to which a particularbadge is affixed. U.S. Pat. No. 5,642,303 also describes a locationbased computing system wherein one or more specialized radio frequency(RF) beacons transmitting a unique signal are placed in desiredlocations such that a portable computing system having an RF receivermay detect the unique signal when it is within a specified range anddetermine its location.

While the active badge system and the system described in U.S. Pat. No.5,642,303 perform adequately when simple location based determinationsare desired, what is needed is a more precise location based computingsystem that functions to discern a specific location from among multiplesensed locations in order to enable more advanced location basedfunctions. In particular, more precise location information is requiredfor portable controlling devices that incorporate location basedservices and functions in order to quickly enable operation of desiredappliances at any given time.

Accordingly, it is desired to provide a system and method that functionsto accurately determine the location of a controlling device from amongmultiple control locations, environments, or zones. Additionally, it isfurther desired to provide a location determination method and systemwhich may take advantage of transmission and/or reception devicesalready placed into an environment for other purposes.

SUMMARY

In accordance with these needs and desires, a controlling devicelocation determination system and method is described.

Generally, the system includes a controlling device (such as a wireless,universal remote control), one or more location signaling devices, andmultiple control environments, each control environment including homeappliances operable by the controlling device. Control environments maybe further segmented into control zones in one embodiment of the presentinvention. In one exemplary system, a location signaling device isplaced within each control environment in order to send one or moresignals to a controlling device for location determination operations.Various methods for determining the location of the controlling devicerelative to the various control environments and zones, or similarlydetermining the proximity of various home appliances to the controllingdevice are disclosed, as well as methods for using determined locationinformation to dynamically reconfigure default command set and/or macrocommands on the controlling device to control a desired appliance ormulti-appliance function. More specifically, the exemplary systemincludes as its controlling device a wireless, universal remote controlwith access to preconfigured location definitions and/or dynamicallygenerated location based data, and programming for detecting andcomparing received signal data to determine its location or theproximity of certain appliances within multiple control environmentsand/or zones. Additional programming available to the controlling deviceenables controlling device states, command sets, and/or macro commandsto be recalled or dynamically reconfigured for a given device or groupof devices using the location definition data and/or dynamicallygenerated location based data.

A better understanding of the objects, advantages, features, propertiesand relationships of the subject system and method will be obtained fromthe following detailed description and accompanying drawings which setforth illustrative embodiments which are indicative of the various waysin which the principles of the system and method may be employed.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the system and method describedhereinafter, reference may be had to preferred embodiments shown in thefollowing drawings in which:

FIG. 1 illustrates an exemplary system employing a method fordetermining controlling device location;

FIG. 2 illustrates a block diagram of components of an exemplarycontrolling device;

FIG. 3 illustrates a block diagram of components of an exemplarylocation signaling device;

FIG. 4 illustrates another embodiment of the system of the currentinvention for determining controlling device location using a signalfingerprinting method;

FIG. 5 illustrates another embodiment of the system of the currentinvention incorporating location signaling devices and signalfingerprinting methods as well as a zone approach to controlling devicelocation determination;

FIGS. 6A and 6B illustrate a flow chart diagram of exemplary steps fordetermining controlling device position using a signaling device system;

FIG. 7 illustrates a flow chart diagram of an alternate method fordetermining controlling device position; and

FIG. 8 illustrates a flow chart diagram of an alternate method fordetermining controlling device position.

DETAILED DESCRIPTION

With reference to the figures, a system and method is described fordetermining the location, environment, or zone of a controlling deviceat a given time. To this end, a system is described which generallyincludes a controlling device 10 (e.g., a wireless, universal remotecontrol) that is adapted to transmit location determination signals(e.g., a signal request) as well as command codes to control theoperation of one or more home appliances 12 as is illustrated in FIG. 1.By way of example only, the appliances 12 can include, but are notlimited to, televisions, VCRs, DVRs, DVD players, cable converter boxes,amplifiers, CD players, game consoles, home lighting, drapery, fans,HVAC systems, thermostats, personal computers, etc.

For use in transmitting command codes to one or more of the appliances12, the controlling device 10 of the exemplary system may include, asneeded for a particular application, a processor 24 coupled to a memorydevice (such as ROM memory 26, RAM memory 27, and a non-volatile memory34), a key matrix 28 (e.g., physical buttons, a touch screen display, ora combination thereof), an internal clock and timer 30, transmissioncircuit(s) 32, receiver circuit(s) 33, and/or transceiver circuit(s)(e.g., IR and/or RF), a means 36 to provide feedback to the user (e.g.,LED, display, speaker, and/or the like), and a power supply 38 asgenerally illustrated in FIG. 2. As will be understood by those of skillin the art, the memory device may include executable instructions thatare intended to be executed by the processor 24 to control the operationof the controlling device 10. In this manner, the processor 24 may beprogrammed to control the various electronic components within thecontrolling device 10, e.g., to monitor the power supply 38, to causethe transmission of signals, etc.

The non-volatile read/write memory 34, for example an EEPROM,battery-backed up RAM, Smart Card, memory stick, or the like, may beprovided to store setup data and parameters as necessary. It is to beadditionally understood that the memory devices may take the form of anytype of readable media, such as, for example, ROM, RAM, SRAM, FLASH,EEPROM, Smart Card, memory stick, a chip, a hard disk, a magnetic disk,and/or an optical disk. Still further, it will be appreciated that someor all of the illustrated memory devices 26, 27, and 34 may bephysically incorporated within the same IC chip as the microprocessor 24(a so called “microcontroller”) and, as such, they are shown separatelyin FIG. 2 only for the sake of clarity.

To identify home appliances by type and make (and sometimes model) suchthat the controlling device 10 is adapted to transmit recognizablecommand codes in the format appropriate for such identified appliances12, data may be entered into the controlling device 10. Since methodsfor setting up a controlling device to control the operation of specifichome appliances are well-known, such methods need not be described ingreater detail herein. Nevertheless, for additional informationpertaining to controlling device setup, the reader may turn to U.S. Pat.Nos. 4,959,810, 5,614,906, and 6,225,938. It will also be appreciatedthat the controlling device 10 may be set up to control an appliance 12by being taught the command codes needed to control such appliance asdescribed in U.S. Pat. No. 4,623,887.

To cause the controlling device 10 to perform an action, the controllingdevice 10 is adapted to be responsive to events, such as a sensed userinteraction with the key matrix 28, receipt of a data or signaltransmission, etc. In response to an event, appropriate instructionswithin the memory 26 may be executed. For example, when a command key isactivated on the controlling device 10, the controlling device 10 mayretrieve a command code corresponding to the activated command key frommemory 26 and transmit the command code to a device in a formatrecognizable by the device. It will be appreciated that the instructionswithin the memory 26 can be used not only to cause the transmission ofcommand codes and/or data to the appliances 12 but also to perform localoperations, e.g., location based features and functions a described ingreater detail below. While not limiting, other local operations thatmay be performed by the controlling device 10 include displayinginformation/data, favorite channel setup, macro button setup, functionkey relocation, etc. Examples of these latter mentioned local operationscan be found in U.S. Pat. Nos. 5,481,256, 5,959,751, and 6,014,092.Additional examples of controlling devices 10 may be found in commonlyowned, U.S. Pat. No. 6,225,938 and U.S. application Ser. Nos.60/264,767, 09/905,423, 09/905,432, and 09/905,396.

In keeping with the subject system and method, the controlling device 10preferably includes programming such that the location of thecontrolling device may be determined by one or more signals detected bythe remote. Given a determination of relative location, controllingdevice 10 may further include programming whereby command sets (i.e.,device command codes mapped to various buttons of key matrix 28),controlling device states, favorite channel lineups, and/or macrocommands are recalled from memory, made available from a home computeror Internet based data source, and/or dynamically generated (based onlocation data) such that desired commands or functions are presented toa user automatically. The methods for such automated command set recalland/or generation are described more fully in commonly assigned,co-pending U.S. Provisional Application 60/517,283 entitled “HomeAppliance Control System and Methods in a Networked Environment”(attorney docket no. 81230.101US1). Additional extended controlfunctions may be implemented in conjunction with the current system andmethod, such as the ability to pause and resume appliance states acrossmultiple control environments or zones, which is described more fully incommonly assigned, co-pending U.S. Application 60/517,737 entitled“System And Method For Saving And Recalling State Data For Media AndHome Appliances” (attorney docket no. 81230.102US1).

For use in providing location data to controlling device 10, oneexemplary system and method includes one or more signaling devices 14.The signaling device(s) 14 may be a device (e.g., 14 a) separate andapart from the appliances 12 or may be integrated (e.g., 14 b) into oneor more of the appliances 12 as is illustrated in FIG. 1. Signalingdevice 14 may additionally be integrated with other extended functioncontrol devices such as the command receiver described in commonlyassigned, co-pending U.S. patent application Ser. No. 10/603,839entitled “System And Method For Monitoring Controlling deviceTransmissions.” In any of these cases, the signaling device 14 mayinclude, as needed for a particular application, a processor 50 coupledto a memory device (such as RAM memory 51, ROM memory 52, and/ornon-volatile read/write memory 56), an internal clock and timer 53,receiver circuit(s) 54, transmission circuit(s) 55, and/or transceivercircuit(s) (e.g., IR and/or RF), a non-volatile read/write memory 56, ameans 58 to provide feedback to the user (e.g., LED, display, speaker,and/or the like), a power supply 62, and input means 64, (e.g., serialI/O port, Ethernet, 1394 firewire, wireless receiver, bar code scanner,etc.), as is generally illustrated in FIG. 3. The input means 64 may beused to connect each signaling device 14 to a common home control unit(such as a control pod, server, HVAC, etc.) in order to enablecommunication and timing operations between all signaling devices. Thememory device may include executable instructions that are intended tobe executed by the processor 50 to control the operation of thesignaling device 14. In this manner, the processor 50 may be programmedto control the various electronic components within the signaling device14, e.g., to monitor the power supply 62, to cause the transmission ofsignals, to provide audio or visual prompts to a user, etc. Thenon-volatile read/write memory 56, for example an EEPROM, battery-backedup RAM, Smart Card, memory stick, or the like, may also be provided tostore setup data and parameters as necessary. While the memory 52 isillustrated and described as a ROM memory, memory 52 can also becomprised of any type of readable media, such as ROM, RAM, SRAM, FLASH,EEPROM, or the like. Preferably, the memory 56 is non-volatile orbattery-backed such that data is not required to be reloaded afterbattery changes. In addition, the memories 51, 52 and/or 56 may take theform of a chip, a hard disk, a magnetic disk, and/or an optical disk. Itwill also be appreciated that in cases where signaling device capabilityis integrated into an appliance, some or all of the functional elementsdescribed above in conjunction with FIG. 3 may be combined with similarelements already present in the appliance for other purposes.

For transmitting and receiving information between controlling device 10and the signaling device(s) 14 a-d (as shown in FIG. 1), communicationmay be performed using an IR protocol such as XMP (described inco-pending U.S. patent application Ser. No. 10/431,930) an RF protocolsuch as Bluetooth, 802.11, RFID, or any other suitable wirelesstransmission method. All that is required is that the signaling device14 be able to decipher a received signal request and that thecontrolling device 10 be able to decipher a received signal response.For example, controlling device 10 may send a signal request via XMPover IR to signaling device 14 b, which in turn sends a signal responseback to controlling device 10 via XMP over IR. The information(described in greater detail below) sent from signaling device 14 b tocontrolling device 10 may then be intelligently used to discern thelocation or environment of controlling device 10. In one exemplarysystem, two different signals (such as IR and RF, each communicating viaXMP or other wireless transmission protocols) are used in communicationbetween the controlling device 10 and signaling device(s) 14 a-d inorder to provide for additional location and environment baseddeterminations and functions. For example, controlling device 10 maysend a signal request via RF from anywhere in or around an environment(illustrated in FIG. 1 as a multi-room home or office structure, but maybe any environment or location) such that one or more of signalingdevices 14 a-d receive the signal. Each signaling device in receipt ofthe signal request from controlling device 10 includes programming totransmit a signal response, either via IR alone in one example system,via RF alone, or via both IR and RF according to other embodiments. Itwill be appreciated that if collision avoidance is a necessary part ofthe transmission format and protocol used, the programming in thesignaling devices may include algorithms to cause individual responsesto be transmitted in sequential fashion, based for example on ascendingdevice address value, CSMA techniques, token passing between thesignaling devices, or other techniques as are well known in the art. Theuse of RF and IR signals is only to be taken as illustrative of varioussignals that can be used in conjunction with the current invention, andgenerally the signals are chosen for their characteristic attenuation ina multi-room location or environment. For example, because RF signalswill be attenuated only partially (in most instances) by walls, floors,ceilings and other similar structures (generally solid obstructions),the signal request sent from controlling device 10 may be received byall, or most of signaling devices 14 a-d, while IR signals which arefully attenuated by such similar solid obstructions will (for purposesof the current invention) remain confined to a single room of anenvironment. By configuring one example system of the current inventionto initiate a signal request via RF (or similar signal), and configuringeach signaling device in receipt of the signal request to transmit asignal response via IR (or similar signal which is attenuated by solidobstructions), the controlling device 10 will only receive the signalresponse from a signaling device in the same room (i.e., in an arealacking structures and obstacles that would attenuate the IR signalresponse). In this connection, it will be appreciated by those skilledin the art that although IR signals are generally thought of asline-of-sight, in fact infrared behaves very much like visible light andmay be reflected off light colored walls, glossy surfaces, etc., suchthat it is generally not necessary for the controlling device 10 to bedirectly in front of such a signaling device in order to determine whichroom it is in.

In other embodiments, and for enabling additional location andenvironment based determinations, the system of the present inventionmay be configured such that each signaling device in receipt of a signalrequest sends a signal response via RF signals alone, or both via IR andRF signals. In this way the controlling device 10 may intelligently makea determination of a current room location (based on the single receivedIR signal), and may additionally determine which signaling devices arewithin the range of RF signals (based on the received RF signal(s)) toenable additional control functions, such as transmitting command datafor home appliances to other rooms of an environment via RF signals toone or more signaling devices within range, or directly to appliancesassociated with a signaling device or location definition, as describedin greater detail below. In one alternate embodiment, RF signals ofvarying strengths (generally decreasing in signal strength) may be sentiteratively by the controlling device to the signaling devices (asillustrated in FIG. 7), or by the signaling devices in response to asignal request from the controlling device (not illustrated) in order toenable location determination functions. It is well known in the artthat many selective signal attenuation methods and devices, for exampleattenuators and filter based devices, may be used in conjunction withthe location determination system of the current invention in order toenable incremental signal strength changes as contemplated herein. Whencombined RF and IR signaling is utilized, the controlling device 10 mayuse received signals to determine, for example, that an appliance iswithin RF range (from the receipt of an RF signal from a signalingdevice 14) but not within the same room or environment (from the failureof receipt of an IR signal from that same signaling device 14) toconfigure itself according to this determination.

In the example shown in FIG. 7, the controlling device initiates asignal request by sending an initial RF signal having a baseline signalstrength. If after receipt of signal response(s) from the signalingdevice(s) it is determined that two or more signaling devices receivedthe initial RF signal, and thus no definitive location determination canbe made, programming on or available to the controlling device causes anincremental decrease in output signal request strength and the processis repeated. In general the controlling device may be configured toiterate the above process a predefined number of times, or until it isdetermined by programming on or available to the controlling device thatonly one signaling device received the signal request. In this waylocation-based determinations may be made by the controlling device andused for further processing and manipulation of functions, and featuresin the remote and/or control environment. As described above, it will beunderstood that each signaling device may be configured to respond tosuccessive signal requests from the controlling device by iterativelydecreasing the strength of their respective signal response signals suchthat programming on or available to the controlling device may similarlymake location based determinations given the number of received signalresponses over a given period of time. Still further, it will beunderstood that while described in the context of RF basedcommunications, the iterative signal strength reduction methodologiesdescribed above may be used in conjunction with IR, and/or mixed IR/RFlocation determination systems without departing from the spirit andscope of the present invention.

In order to differentiate between signaling devices, the controllingdevice 10 is equipped to identify a unique characteristic associatedwith each device. To this end, in one embodiment there is furthermaintained within each signaling device 14 (for example, stored in thenon-volatile read/write memory 56) a unique signaling device ID thatserves to distinguish multiple signaling devices from one another. Forthe purposes of the current invention, such IDs may be globally assignedand preprogrammed at the factory, automatically generated by a systemconfiguration algorithm, entered by a user, programmed via switches,etc. The receipt and recognition of the unique ID(s) by controllingdevice 10 allow the determination of its location or relativeenvironment, as each unique ID is associated with location definitionsaccessible to controlling device 10. Controlling device 10 may also beconfigured to simply recall or generate a state, graphical userinterface, command set, command key/command code mapping, macro command,etc. based on the receipt of a particular unique ID. It will beunderstood that many location and control based determinations,modifications, functions, and features will be possible given thereceipt and recognition of unique ID(s) and their associated signalingdevice, location definition, command set, etc. without departing fromthe spirit and scope of the present invention.

The unique ID may be in the form of any digital code capable of beingmodulated on a carrier signal (i.e., RF and/IR signals in conjunctionwith XMP, Bluetooth, 802.11, or any other wireless protocols in theexemplary system), and for purposes of the present invention, should beof sufficient bit length to accommodate a desired amount of unique IDsfor a particular environment. For instance, an 8 bit code would be ableto accommodate up to 256 uniquely assignable IDs, however, for errorcorrection, security/encryption, and other functions it may desirable toprovide for unique IDs having significantly longer bit lengths (e.g., 64or 128 bit IDs). Because it is one object of an example system of thispresent invention to make use of signals of different type in order toeffect location based determinations, it may be desirable to utilizeunique IDs for each signal type in the signaling device(s), such thatthe IDs themselves could identity both the particular signaling device,and the particular signal type once received in the controlling device.For example, the RF signal of a particular signaling device may beassigned a first unique ID, while the IR signal of the same signalingdevice may be assigned a second unique ID, each ID being associated withthe same location definition, command set, macro, etc., yet providingimmediate information to the controlling device as to which signal typeis being received. Alternatively, RF and IR signals may separated intime, e.g., with all signaling devices sending their RF responses in afirst time window of pre-defined duration after the controlling device'srequest signal, followed by their IR responses in a second, subsequenttime window.

It will be appreciated that there are many different methods ofproviding for the controlling devices determination both of atransmitted unique characteristic, and of the signal type on which theunique characteristic was received without departing from the spirit andscope of the present invention. For example, in an alternativeembodiment in which the signaling devices are further equipped toreceive command requests from other devices and perform IR controloperations on appliances located in the vicinity of each signalingdevice (so called “IR blasters”), the IR signal transmitted in responseto a request from controlling device 10 may comprise a simple controlcommand for one or more of the appliances in that room. By way ofexample only, if a living room contains a Sony TV set and a bedroom aPanasonic TV set, controlling device 10 may determine its currentlocation by issuing an RF request, received by all signaling devices, toincrease TV volume by a small amount and monitoring which format IRcommand transmission from an IR blaster it detects: Sony (known asSIRCS) or Panasonic (known as Kaseikyo.) In an alternative embodiment,the existence of such RF addressable “IR blaster” signaling devices maybe taken advantage of by a controlling device 10 equipped with onlybasic IR receiving ability (e.g., for the purpose of “learning” IRsignals) even though that controlling device may not be intrinsicallycapable of completely decoding and identifying the exact format of areceived IR signal as described above: in this instance controllingdevice 10 may issue individual RF commands sequentially to eachsignaling device in turn until such time as IR activity of any type isdetected. When this IR activity occurs, it may be inferred that thecontrolling device is located in the same environment as the signalingdevice just addressed. Additionally, in a UPnP based control environmentthe unique identifying characteristic (unique ID) for use in locationdetermination may be configured as part of the Uniform ResourceIdentifiers (URI), or as part of an XML device description documentwhich also contain addressing information for the particular devices orappliances. Accordingly, in the discussions that follow, it is to beunderstood that the term “ID” is to be interpreted in the widestpossible sense, i.e., as comprising any suitable identifyingcharacteristic.

According to another embodiment, each signaling device 14 a-d, as shownin FIG. 1, includes at least one unique ID for sending to controllingdevice 10 via IR (or similar signal) in response to the signal requestsent by controlling device (generally via RF or similar signal). As willbe appreciated, the presence of IR signals from each signaling device 14a-d in the various rooms illustrated inside environment 2 will only bedetected by controlling device 10 when inside the same room(s) as the IRsignals. It will also be appreciated that for signaling devices 14 c and14 d which are configured in the same room, the position, orientation,and relative output IR signal strength from each may be made to affectthe ability of controlling device 10 to receive one signal versus theother, thus enabling additional location/orientation determinationinformation for controlling device 10. To this end, for example, upondetection of multiple IR responses to its request signal, thecontrolling device may repeat the request while reducing the gain of itsIR receiver circuit in order to differentiate signals received viadirect line of sight versus attenuated signals received via in-roomreflective paths. Alternatively, signaling devices 14 a-d may beconfigured with a separate compact IR transceiver portion 15 incommunication with the base signaling device (14 c as illustrated inFIG. 1) such that optimal positioning for signal detection by thecontrolling device is possible. As will be appreciated, each separate IRtransceiver may be in communication with its respective signaling devicevia wired or wireless means, such that optimal signal detection bycontrolling device 10 of the IR signal from each compact IR transceiver15 is possible though user positioning of the IR transceiver 15.

In one example system, each appliance 12 (or set of appliances)connected to or near each signaling device is identified with locationdefinitions accessible to controlling device 10 (either loaded in thememory of controlling device 10 or configured on a separate device suchas a home computer, internet accessible data source, or the like) suchthat the receipt and recognition by controlling device 10 of a unique IDmay also identify to controlling device 10 the appliances 12 associatedwith the signaling device sending the unique ID by reference to thelocation definitions. The format, storage, and use of locationdefinitions, as well as associated functions and features made possiblein controlling devices, are described more fully in co-pending U.S.Provisional Application entitled “Home Appliance Control System andMethods in a Networked Environment” (attorney docket no. 81230.101US1)and “System And Method For Saving And Recalling State Data For Media AndHome Appliances” (attorney docket no. 81230.102US1) as well as in U.S.application Ser. No. 10/288,727 “User Interface for a Hand HeldControlling device,” all of which are owned by a common assignee.

By way of further explanation, the flowcharts of FIGS. 6 a and 6 billustrate the processing of the location determination functionality bythe controlling device and signaling device(s) firmware program logic inaccordance with the current example system. Since the controlling deviceis a battery-operated device, it is normally in a low-power state andthus the signal request should be initiated by a user action such aspicking up the remote (e.g., a sensed movement of a tilt switch) orpressing a button on the remote. To effect this, after a key press, tiltswitch activation, etc. following an initial low-power state, thecontrolling device sends a signal request via the RF link after whichtime the controlling device waits (listens) for a predetermined periodof time to monitor for the resulting signal response from any availablesignaling devices. If a response is received a determination is made asto the number of received unique IDs (and optionally from which signaltype each ID was received). If multiple unique IDs are received suchthat the controlling device cannot effect a sufficient locationdetermination (or association with appropriate location definitions) theprocess is iterated a predefined number of times, or for a predefinedamount of time, until an appropriate determination can be made based onreceived ID(s). As described more fully above, alternatively theiterative process used may involve incremental signal strength reductionin either the successive signal requests or signal responses in order tomake an appropriate location determination. Once in receipt of an IDwhich enables a location determination, the controlling device makes useof the location determination to recall command states, macros, and/orother location definitions in order to effect location specificfunctions. Upon completion of any location specific functions, oralternatively if no signal response is received within the predeterminedtime, the controlling device may shut down its receiver and return tothe low power state. The controlling device may also be configured toprompt the user to relocate the controlling device after severalunsuccessful signal requests and initiate a signal request again fromthe new location in order to make a location determination. It will beappreciated by those skilled in the art that the controlling device maybe easily programmed to periodically transmit signal requests to allavailable signaling devices without any user input in order to enableperiodic location determinations for use by the controlling device. Forexample, in the case of a controlling device which is motion activatedsuch as by a tilt switch or the like, the controlling device mayinitially determine its location on being first picked up as describedabove and thereafter, if the motion sensing circuit remains active(i.e., the user is holding or carrying the controlling device) thecontrolling device may continue to periodically transmit signal requestsand re-determine its location. Once the controlling device senses thatit has been placed down (e.g., the motion sensing circuit is inactivefor predetermined time, such as five seconds) it may return to the lowpower state pending the next activation of the motion sensor.

It may be desirable to configure the controlling device such that theinitial key press (which initiates transmission of the signal request)constitutes a command desired by a user to be sent an appliance. As suchthe location determination method may be transparent to a user, in thatthe controlling device may save the user command initially into memorywhile the location determination is made using the above describedmethod. Once such location determination is made, the controlling devicemay recall, and then modify and/or reconfigure the initial command (fromuser key presses), or execute it “as is,” based on the locationinformation to effect the desired user command. By way of example only,a user present in one room of a multi-room environment may request an IRbased command via button presses on the controlling device which isintended to control an appliance in a different room, out of theeffective range of the controlling device in its present location. Bysaving the initial user command to the memory of the controlling device(or to a memory location accessible by the controlling device, such as anetworked computer or device in the environment or an internet baseddata source), performing the location determination as described above,and when it is determined that the appliance is located in a differentroom translating the initial command to a command appropriate to bringabout the desired effect in the subject appliance (e.g., using thelocation information of the current invention in conjunction with thesystem and method of co-pending application entitled “System And MethodFor Saving And Recalling State Data For Media And Home Appliances” andissuing an RF command addressed to a signaling device 14 co-located withthe desired appliance) the user may control the subject appliancewithout modifying settings on the controlling device prior to issuingthe initial command.

According to another alternate embodiment of the present invention, alocation fingerprinting system and method may be used to bring aboutlocation based determinations and functions. Looking now to FIG. 4,controlling device 10 may be present in multiple control environments100, 120, 130, 140, and 160. With respect to each environment, there aremultiple home appliances and/or wireless transmitters located withineach environment that include wirelessly receivable identifyingcharacteristics (such as network IDs, access point names, applianceaddresses, and other wirelessly broadcast information) which may bereceived and identified by controlling device 10. For example,environment 100 includes wireless access point 104 and wireless enabledcomputer 110, each of which broadcast unique identifying information inand around environment 100 that may be received and stored bycontrolling device 10 (for instance in the memory of controlling device10 or accessible to controlling device 10). Similarly, environment 130includes wireless access point 134 and wireless enabled server 136, eachof which broadcast additional unique identifying information in andaround environment 130 that may be received and stored by controllingdevice 10. Environment 120 does not include any wireless devicesbroadcasting unique information, however, controlling device 10 mayreceive the identifying information from both environments 100 and 130in environment 120, thus enabling a location determination as describedin greater detail below. Separate from environments 100, 120, and 130 isenvironment 140, which includes wireless portable computer 148 andwireless enabled home appliance 146 (e.g., an 802.11 based contentrenderer), each broadcasting additional unique identifying informationin and around environment 140 which may be received and stored bycontrolling device 10. Environment 160 represents an environment whereinnone of the previously described unique identifying information isdetected (e.g., any area outside environments 100, 120, 130, and 140which is Internet accessible), but nonetheless may be used for providinglocation information (and more appropriately the absence of locationinformation) for purposes of recalling command sets, macros, otherdynamic configuration, and/or control features and functions ofcontrolling device 10. To further clarify, in one example system,environments 100, 120 and 130 may represent rooms or other distinctcontrol locations in the same house, while environment 140 represents adistant office. While environment 160 (e.g., any internet accessiblelocation) may be available to controlling device 10 in any ofenvironments 100, 120, 130, and 140, it is characterized as a distinctcontrol environment (such that location definitions, command sets,macros, etc. would be associated with it) by the absence of any detectedunique identifying information.

In order to provide the unique identifying information from eachenvironment as location based information to controlling device 10, adatabase or similar information storage means may be configured in thememory of controlling device 10, or made accessible to controllingdevice 10 via a home computer or Internet based data source. Each set ofunique identifying information, e.g., network addresses from computer110 and wireless access point 104 for environment 100, may bepreconfigured in the database with associated controllable homeappliances (as well as their functional abilities and characteristics)108 and 106. For environment 130, unique identifying information(network addresses) from access point 134 and wireless enabled server136 is associated with home appliance 132, while for environment 120,home appliance 102 is associated with unique identifying informationfrom all of computer 110, access point 104, access point 134, and server136. For environment 140, appliances 142, 144, and 146 are allassociated with an appliance address from 802.11 based appliance 146 andnetwork address from laptop 148. It will be appreciated that theentirety of a particular network address need not be captured toadequately detect unique identifying information, rather only a fixedportion of such address (i.e., the subnet address in a DHCP addressedenvironment) need be used. Additionally, a MAC address or other machineor hardware specific names may be used as unique identifying informationaccording to the current system and method. Unique identifyinginformation and other information associated with the various appliancesin a control environment may also be dynamically generated based onsensed or received interactions between the controlling device andappliance via advanced control protocols, e.g., UPnP, HAVi, and thelike.

It will also be understood and appreciated that for environments inclose proximity, more unique identification information (generally dueto the presence of more wireless access points, wireless enabledappliances, wireless computers, etc.) will enable increased levels oflocation determination accuracy. For example, as illustrated in FIG. 5,signaling devices 14 e and 14 f may be included and used in conjunctionwith the current location fingerprinting embodiment in order to enableincreased accuracy and location determination resolution. The presenceof a signal response from signaling devices 14 e and 14 f introducesanother wireless signal having unique identification characteristics foruse with location fingerprinting. Additionally, the IR signal fromeither signaling device 14 e or 14 f may serve to provide an initiallocation determination to controlling device 10 for initiation ofcertain desired functions, while subsequent location fingerprintingmethods provide increased location data to enable additional functions.Still further, well known methods of measuring, storing, and comparingsignal strength data from any of the above mentioned sources of uniqueidentifying information (generally the RF based signals from anywireless source able to be received by controlling device 10) may beused to provide in essence a continuum of possible locationdeterminations based on triangulation or other wireless signal basedlocation techniques.

For enabling advanced control functions in controlling device 10, amulti-room environment 2 (as illustrated in FIG. 5) may be configured ina number of distinct control zones, the resolution (amount of spatialarea defining the zone) of which is based on signal fingerprint,strength, unique IR signal response from a signaling device, etc. Forexample large areas of environment 2 having fewer controllableappliances and detectable unique identification signals (and/orsignaling devices) may be configured in a larger control zone (based ondetected signal fingerprint, strength, etc.) versus areas containingmore controllable appliances and detectable unique identificationsignals.

In one aspect of the present invention, the means for making thelocation determination comprises machine-readable instructions loaded inthe memory of the controlling device, or on a separate home controldevice (for instance, the hard drive or other non-volatile memory in thecase of a media center PC or similar computing based home controldevice). The machine-readable instructions are capable of performingpre-programmed logic processing on the received signal responses fromsignaling devices, as well as signals carrying unique identifyinginformation from wireless devices, such that an accurate determinationof the location, environment, or zone of the controlling device may bemade by reference to the pre-configured location definitions. Thesoftware (machine-readable instructions) code to implement such a systemis well within the routine skill of a programmer, but may include forinstance, reference to the comparative database of location definitions,determinations of signal strength, error detection and correctionmethods relative the detected signals and stored unique identificationdata. Additionally, since it is possible that in some instances one ormore of the signals (carrying unique identification information used inmaking location determinations) may not be present (e.g., one or more ofthe signaling devices, wireless access points, wireless enabledcomputers, etc. are not powered on, are temporarily attenuated by astructure or obstacle, or have been moved to a different location) thesoftware code may include programming to select the closest match fromdatabase comparison operations in order to perform the desired advancedcontrolling device functions. In the event that a particular signal isfound to be persistently absent, the software code may includeprogramming to remove that signal characteristic from the comparativedatabase of location definitions. Similarly, the software code mayinclude programming which, upon detection of the continued presence of anew signal in a location (for example, after having detected it severaltimes in succession over a predetermined period of time) may add thecharacteristics of that signal to that location's data in thecomparative database of location definitions.

Additional device data (e.g., device features, services, states, orother information such as may be provided from a UPnP or HAVi compliantdevice) may be wirelessly broadcast in the same signal as the signalbeing provided and used for location determination functions. In thisway the controlling device may, from the same wireless data stream,determine its location, the number and type of devices present, devicescapabilities, and device states. This information can all be used forboth provisioning customized user interfaces on the controlling device,and enabling dynamic/complex macro command generation to accomplishdesired user activities. Additionally, the use of predefined or presetlocation definitions may not be necessary in such a system because allinformation needed by the controlling device to effect user commands andactivities is provided in the location determination signal andassociated wireless data transmissions.

For initially setting up the controlling device to make locationdeterminations based on any of the above described systems and methods,the controlling device or associated home control device may includemachine readable instructions to prompt a user to set up the controllingdevice several different times based on the users current environment orzone. For instance, upon setting up a controlling device to controlvarious appliances in a first desired control environment or zone (usingany known method as described above), the controlling device may includeprogramming to prompt the user to move to a location in the environmentor zone most likely to be used when controlling the associatedappliances. Once in this location the user may be prompted byprogramming in the controlling device to either ensure that a particularIR signal from a signaling device is detectable by the controllingdevice (the unique ID), or to initiate a location fingerprintingalgorithm to be run by the controlling device. Generally the locationfingerprinting algorithm will involve detecting and saving uniqueidentification information from wireless signals present in theenvironment or zone to a database and associating such information withthe previously set up appliances in the desired environment or zoneaccording to the above described method. By repeating the abovedescribed location based set up method in any number of desired controlenvironments or zones, the controlling device may be programmed withlocation based data (location definitions) such that subsequent commandsissued by the user are able to access and use the location definitionsin conjunction with software on the controlling device (or home controldevice) to enable advanced control features and functions.

In other embodiments, and for enabling additional location andenvironment based determinations, the system of the present inventionmay be configured such that the controlling device may become activewhen the user provides input to the controller. To this effect, after akey press, tilt switch activation, etc. following an initial low-powerstate, the controlling device may send a location signal or beaconsignal via the RF link. The controlling device 10 and associatedappliance(s) 12 may execute a cooperative calibration or initial set upprocedure to identify the controlling device's location. The cooperativecalibration procedure may be executed by the controlling device's 10software and may include one or more signals and one or more appliance12 parameters to locate the controlling device 10 (for example, thelocation signal strength and one or more of a plurality of applianceparameters such as mixed IR/RF location determination systems, signalfingerprint, unique ID, etc.). In addition, it is contemplated that thecontrolling device 10 may be able to determine its current locationusing signals received from GPS positioning satellites. Similarly, thesoftware code may include programming which, upon detection of theinitiation of the calibration procedure in a new location (for example,after having compared it several times in succession over apredetermined period of time) may add the characteristics of that signalto that location's data in the comparative database of locationdefinitions.

As illustrated in FIG. 8, the controlling device 10 may detect inputfrom a user or may detect a change from the controlling device's 10original or previously identified location.

The user may initiate the location signal at the controlling device orthe controlling device may detect that the user has moved thecontrolling device to a new location which may trigger the controllingdevice 10 to initiate the location signal to be received by theappliances within the system environment. When the signal is not alocation or beacon signal, the controlling device 10 may execute thedefault commands.

An appliance 12 may continuously monitor for the controlling device's 10location signal and may initiate a location detection process after thecontrolling device's location signal is detected. The appliance 12 mayinitiate processing of the location determination functionality by theappliance's firmware program logic in accordance with the currentexample system. The appliance 12 may then initiate a location signaltracking process which may be executed periodically or at apredetermined interval (for example, the appliance 12 may be a parabolicspeaker system which may be capable of directing sound at thecontrolling device's 10 location signal or beacon signal andautomatically redirect the sound when the controlling device's 10directional location relative to the appliance 12 changes). When achange in the controlling device's location is detected, the appliance12 may initiate a location detection process to identify the newlocation of the controlling device 10. It is additionally contemplatedthat, when it is detected that the distance between the controllingdevice 10 and the appliance 12 changes by more than a threshold amount(which may occur together with or apart from a change in direction) theappliance 12 may respond by changing volume, for example by increasingvolume in response to an increase in distance between the devices and bydecreasing volume in response to a decrease in distance between thedevices. Similarly, if the appliance 12 has a display that is capable ofbeing moved, e.g., it has associated motors or the like to change thepitch and/or yaw or the display, a determined change in directionalorientation of the device 10 relative to the appliance 12 by more than athreshold amount can likewise be used to cause the display to bereoriented to generally have the center of the display reorient itselftowards the device 10.

It will be understood and appreciated by those skilled in the art thatalthough described in terms of a controlling device 10 in the variousexample systems, the controlling device of the present invention may beany portable device (including but not limited to IR and/or RF baseduniversal remote controls, cordless or cellular portable phones,wireless capable PDAs, Smart Displays, tablet PCs, gesture sensing orvoice recognition apparatus, etc.) capable of transmitting and/orreceiving location determining information remotely to and from thesignaling device 14. Furthermore, complete control of devicefunctionality may be fully achieved in a single device or may beimplemented via multiple separate physical devices or softwareapplications (for example, voice or gesture input into a portable devicemay be transmitted to remotely located specialized processing system tobe parsed into commands which are then returned to the portable deviceand/or various signaling devices 14 for execution.) Likewise, thesignaling device 14 of the present invention may be any home controldevice (including but not limited to STBs, media center PCs, homeautomation systems, wireless gateways, etc.) capable of receiving andtransmitting signals with unique identifying characteristics to thecontrolling device. Many additional forms and implementations of thecontrolling device location determination system and method of thepresent invention could be contemplated for a variety of purposeswithout departing from the scope and spirit of the current invention.

The system and process of the present invention has been described abovein terms of functional modules in block diagram format. It is understoodthat unless otherwise stated to the contrary herein, one or morefunctions may be integrated in a single physical device or a softwaremodule in a software product, or one or more functions may beimplemented in separate physical devices or software modules, withoutdeparting from the scope and spirit of the present invention. Ii willalso be appreciated that detailed discussion of the actualimplementation of each module is not necessary for an enablingunderstanding of the invention. The actual implementation is well withinthe routine skill of a programmer and system engineer, given thedisclosure herein of the system attributes, functionality, andinter-relationship of the various functional modules in the system. Aperson skilled in the art, applying ordinary skill can practice thepresent invention without undue experimentation.

While the invention has been described with respect to the describedembodiments in accordance therewith, it will be apparent to thoseskilled in the art that various modifications and improvements may bemade without departing from the scope and spirit of the invention.Accordingly, it is to be understood that the invention is not to belimited by the specific illustrated embodiments.

All patents and applications for patent cited within this document arehereby incorporated by reference in their entirety.

What is claimed is:
 1. A method for using a controlling device tocontrol an output device of a controllable appliance, comprising:receiving by the controllable appliance from the controlling device asignal; using the received signal by the controllable appliance todetermine if the controlling device has been directionally reorientedrelative to the controllable appliance by more than a threshold amount;and when it has been determined by the controllable appliance that thecontrolling device has been directionally reoriented relative to thecontrollable appliance by more than the threshold amount, causing thecontrollable appliance to use the received signal to directionallyreorient the output device of the controllable appliance generallytowards the controlling device.
 2. The method as recited in claim 1,wherein the output device comprises at least one moveable parabolicspeaker associated with the controllable appliance.
 3. The method asrecited in claim 1, further comprising using the received signal by thecontrollable appliance to determine if a relative distance between thecontrolling device and the controllable appliance has changed by athreshold amount and, when it has been determined by the controllableappliance that the relative distance between the controlling device andthe controllable appliance has changed by the threshold amount, causingthe controllable appliance to use the received signal to change anoutput level of the output device.
 4. The method as recited in claim 3,wherein the output device comprises at least one moveable parabolicspeaker associated with the controllable appliance and wherein theoutput level comprises a volume level.
 5. The method as recited in claim1, wherein the controlling device transmits the signal in response to aninput element of the controlling device being activated.
 6. The methodas recited in claim 5, wherein the input element comprises a command keyand the signal comprises a command transmitted to control a functionaloperation of the controllable appliance.
 7. The method as recited inclaim 1, wherein the controlling device transmits the signal in responseto a motion sensing device of the controlling device sensing a movementof the controlling device.
 8. The method as recited in claim 1, whereinthe controlling device transmits the signal in response to receiving asignal request as received from the controllable appliance.
 9. Themethod as recited in claim 1, wherein the signal comprises GPS dataobtained by the controlling device.
 10. The method as recited in claim9, wherein the controlling device comprises a smart device having auniversal remote control application resident thereon.
 11. The method asrecited in 1, wherein the controlling device comprises a universalremote control device.
 12. The method as recited in claim 1, wherein theoutput device comprises at least one moveable display device.